package com.example.base.adapter

interface IAdapter<T> {
    fun getItem(position: Int): T?
    fun getData(): List<T>
    fun addNewData(data: List<T>)
    fun addMoreData(data: List<T>)
    fun setData(data: List<T>)
    fun clear()
    fun removeItem(position: Int)
    fun removeItem(model: T)
    fun addItem(position: Int, model: T)
    fun addFirstItem(model: T)
    fun addLastItem(model: T)
    fun setItem(position: Int, newModel: T)
    fun setItem(oldModel: T, newModel: T)
    fun moveItem(fromPosition: Int, toPosition: Int)
}